package com.seeyon.apps.seepkk.cap4Widget;

import java.util.Map;

import com.seeyon.cap4.form.bean.FormBean;
import com.seeyon.cap4.form.bean.FormSaveAsBean;
import com.seeyon.cap4.form.bean.button.CommonBtn;
import com.seeyon.cap4.form.modules.importandexport.BusinessDataBean;
import com.seeyon.cap4.form.util.Enums;

/**
 * @author kkdo
 * <pre>重新推送</pre>
 */
public class IOCreateWidget extends CommonBtn {

	@Override
	public void init() {
		this.setPluginId("ioBtn");//设置插件或者组件id，和pluginCfg.xml中的id一致
		this.setIcon("cap-icon-custom-button");
	}

	@Override
	public boolean canUse(Enums.FormType formType) {
		return true;
	}

	@Override
	public String getKey() {
		return "4256535405162351768";//给按钮设置一个key，可以随便取
	}

	@Override
	public String getNameSpace() {
		return "customBtn_" + this.getKey();
	}

	@Override
	public String getText() {
		return "IO号生成";//设置按钮名称
	}

	/*
	/**
	 * 获取PC端自定义控件运行态资源注入信息
	 * jsUri:定义PC端表单运行态加载第三方JavaScript的路径
	 * cssUri：定义PC端表单运行态加载第三方CSS的路径
	 * initMethod:定义PC端表单运行态第三方js入口方法名称
	 *
	 * @return
	 */
	@Override
	public String getPCInjectionInfo() {
		return "{\"path\":\"apps_res/cap/ioCreate/\",\"jsUri\":\"js/ioCreate.js\",\"initMethod\":\"init\",\"nameSpace\":\""
				+ this.getNameSpace() + "\"}";
	}

	@Override
	public String getMBInjectionInfo() {
		return null;
	}

	/**
	 * 导出的扩展接口，应用绑定自定义按钮用，有需要的重写该方法
	 *
	 * @param formBean         当前表单
	 * @param businessDataBean 导出中间对象，如果有附件，可以放到对象中的unifiedExportAttachment中
	 * @param resultMap        按鈕json
	 */
	@Override
	public void getJson4Export(FormBean formBean, String customParam, BusinessDataBean businessDataBean,
			Map<String, Object> resultMap) {

	}

	/**
	 * 在业务导入完之后，应用绑定自定义按钮的处理接口
	 * @param formBean
	 * @param customParam
	 * @param businessDataBean
	 * @param btnInfoMap
	 */
	@Override
	public void importInfoAfterBizImport(FormBean formBean, String customParam, BusinessDataBean businessDataBean,
			Map<String, Object> btnInfoMap) {

	}

	/**
	 * 表单另存为应用绑定自定义按钮另存为接口，各个应用绑定自定义按钮需要处理自己的逻辑
	 * @param formSaveAsBean
	 * @param formBean
	 * @param btnInfoMap
	 */
	public void otherSave(FormSaveAsBean formSaveAsBean, FormBean formBean, Map<String, Object> btnInfoMap) {

	}
}